/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.camachosanchez.bean;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.*;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

/**
 *
 * @author Zully
 */
@Entity
@Table(name = "comprobacion_banda_rodamiento_presion")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "ComprobacionBandaRodamientoPresion.findAll", query = "SELECT c FROM ComprobacionBandaRodamientoPresion c"),
    @NamedQuery(name = "ComprobacionBandaRodamientoPresion.findById", query = "SELECT c FROM ComprobacionBandaRodamientoPresion c WHERE c.id = :id"),
    @NamedQuery(name = "ComprobacionBandaRodamientoPresion.findByFechaEjecucion", query = "SELECT c FROM ComprobacionBandaRodamientoPresion c WHERE c.fechaEjecucion = :fechaEjecucion"),
    @NamedQuery(name = "ComprobacionBandaRodamientoPresion.findByKilometraje", query = "SELECT c FROM ComprobacionBandaRodamientoPresion c WHERE c.kilometraje = :kilometraje"),
    @NamedQuery(name = "ComprobacionBandaRodamientoPresion.findByFechaSgteReporte", query = "SELECT c FROM ComprobacionBandaRodamientoPresion c WHERE c.fechaSgteReporte = :fechaSgteReporte"),
    @NamedQuery(name = "ComprobacionBandaRodamientoPresion.findByObservaciones", query = "SELECT c FROM ComprobacionBandaRodamientoPresion c WHERE c.observaciones = :observaciones"),
    @NamedQuery(name = "ComprobacionBandaRodamientoPresion.findByFechaInsercionActualizacion", query = "SELECT c FROM ComprobacionBandaRodamientoPresion c WHERE c.fechaInsercionActualizacion = :fechaInsercionActualizacion"),
    @NamedQuery(name = "ComprobacionBandaRodamientoPresion.findByTipoComprobacion", query = "SELECT c FROM ComprobacionBandaRodamientoPresion c WHERE c.tipoComprobacion = :tipoComprobacion"),
    @NamedQuery(name = "ComprobacionBandaRodamientoPresion.findByAnulado", query = "SELECT c FROM ComprobacionBandaRodamientoPresion c WHERE c.anulado = :anulado")})
public class ComprobacionBandaRodamientoPresion implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id")
    private Integer id;
    @Basic(optional = false)
    @Column(name = "fecha_ejecucion")
    @Temporal(TemporalType.DATE)
    private Date fechaEjecucion;
    @Basic(optional = false)
    @Column(name = "kilometraje")
    private double kilometraje;
    @Column(name = "fecha_sgte_reporte")
    @Temporal(TemporalType.DATE)
    private Date fechaSgteReporte;
    @Column(name = "observaciones")
    private String observaciones;
    @Basic(optional = false)
    @Column(name = "fecha_insercion_actualizacion")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaInsercionActualizacion;
    @Basic(optional = false)
    @Column(name = "tipo_comprobacion")
    private int tipoComprobacion;
    @Basic(optional = false)
    @Column(name = "anulado")
    private boolean anulado;
    @JoinColumn(name = "id_usuario", referencedColumnName = "id")
    @ManyToOne(optional = false, fetch = FetchType.LAZY)
    private Usuarios idUsuario;
    @JoinColumn(name = "id_taller", referencedColumnName = "id")
    @ManyToOne(optional = false, fetch = FetchType.LAZY)
    private Talleres idTaller;
    @JoinColumn(name = "id_vehiculo", referencedColumnName = "id")
    @ManyToOne(optional = false, fetch = FetchType.LAZY)
    private Vehiculos idVehiculo;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idComprobacionBandaRodamiento", fetch = FetchType.LAZY)
    private List<MedicionComprobacion> medicionComprobacionList;

    public ComprobacionBandaRodamientoPresion() {
    }

    public ComprobacionBandaRodamientoPresion(Integer id) {
        this.id = id;
    }

    public ComprobacionBandaRodamientoPresion(Integer id, Date fechaEjecucion, double kilometraje, Date fechaInsercionActualizacion, int tipoComprobacion) {
        this.id = id;
        this.fechaEjecucion = fechaEjecucion;
        this.kilometraje = kilometraje;
        this.fechaInsercionActualizacion = fechaInsercionActualizacion;
        this.tipoComprobacion = tipoComprobacion;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Date getFechaEjecucion() {
        return fechaEjecucion;
    }

    public void setFechaEjecucion(Date fechaEjecucion) {
        this.fechaEjecucion = fechaEjecucion;
    }

    public double getKilometraje() {
        return kilometraje;
    }

    public void setKilometraje(double kilometraje) {
        this.kilometraje = kilometraje;
    }

    public Date getFechaSgteReporte() {
        return fechaSgteReporte;
    }

    public void setFechaSgteReporte(Date fechaSgteReporte) {
        this.fechaSgteReporte = fechaSgteReporte;
    }

    public String getObservaciones() {
        return observaciones;
    }

    public void setObservaciones(String observaciones) {
        this.observaciones = observaciones;
    }

    public Date getFechaInsercionActualizacion() {
        return fechaInsercionActualizacion;
    }

    public void setFechaInsercionActualizacion(Date fechaInsercionActualizacion) {
        this.fechaInsercionActualizacion = fechaInsercionActualizacion;
    }

    public int getTipoComprobacion() {
        return tipoComprobacion;
    }

    public void setTipoComprobacion(int tipoComprobacion) {
        this.tipoComprobacion = tipoComprobacion;
    }

    public boolean getAnulado() {
        return anulado;
    }

    public void setAnulado(boolean anulado) {
        this.anulado = anulado;
    }
    
    public Usuarios getIdUsuario() {
        return idUsuario;
    }

    public void setIdUsuario(Usuarios idUsuario) {
        this.idUsuario = idUsuario;
    }

    public Talleres getIdTaller() {
        return idTaller;
    }

    public void setIdTaller(Talleres idTaller) {
        this.idTaller = idTaller;
    }

    public Vehiculos getIdVehiculo() {
        return idVehiculo;
    }

    public void setIdVehiculo(Vehiculos idVehiculo) {
        this.idVehiculo = idVehiculo;
    }

    @XmlTransient
    public List<MedicionComprobacion> getMedicionComprobacionList() {
        return medicionComprobacionList;
    }

    public void setMedicionComprobacionList(List<MedicionComprobacion> medicionComprobacionList) {
        this.medicionComprobacionList = medicionComprobacionList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof ComprobacionBandaRodamientoPresion)) {
            return false;
        }
        ComprobacionBandaRodamientoPresion other = (ComprobacionBandaRodamientoPresion) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.camachosanchez.bean.ComprobacionBandaRodamientoPresion[ id=" + id + " ]";
    }
    
}
